//----------顶点着色器程序---------------
var VSHADER_SOURCE1 =
    'void main() {\n' +
    ' gl_Position = vec4(0.0,0.0,0.0,1.0);\n' +  //点的位置星系
    ' gl_PointSize = 100.0;\n' +  // 点的尺寸
    // ' gl_PointSize = 100;\n'+  // 点的尺寸  必须使用float 否则会报错---init shader fail
    '}\n';

//----------顶点着色器程序---------------
var VSHADER_SOURCE2 =
    'attribute vec4 a_Position;\n' +  // 声明的 attribute 必须在main 函数外面，才能够初始化成功
    'attribute float a_PointSize;\n' +  // 声明的 attribute 必须在main 函数外面，才能够初始化成功
    'void main() {\n' +

    ' gl_Position = a_Position;\n' +  //点的位置星系
    ' gl_PointSize = a_PointSize;\n' +  // 点的尺寸
    // ' gl_PointSize = 100;\n'+  // 点的尺寸  必须使用float 否则会报错---init shader fail
    '}\n';


//-------------片元着色器程序---
var FSHADER_SOURCE =
    'void main(){\n' +
    '   gl_FragColor = vec4(1.0,0.0,0.0,1.0);\n' + // 设置颜色
    // '   gl_FragColor = vec4(1.0,0.0,0.0,1.0);\n'+ // 设置颜色
    '}\n';

// function main() {
//     var canvas = document.getElementById("canvas_id");
//     var gl = getWebGLContext(canvas);
//     if(!gl){
//         console.error("no find webgl");
//         return;
//     }

//     // 初始化着色器
//     if(! initShaders(gl, VSHADER_SOURCE1, FSHADER_SOURCE)){
//         console.error("init shader fail");
//         return;
//     }

//     gl.clearColor(0.0,0.0,0.0,1.0);
//     gl.clear(gl.COLOR_BUFFER_BIT);

//     gl.drawArrays(gl.POINT, 0, 1); // 绘制一个点

// }

function main() {

    let canvas = document.getElementById('canvas_id');
    let gl = getWebGLContext(canvas);

    if (!gl) {
        console.log("no find gl");
        return;
    }

    if (!initShaders(gl, VSHADER_SOURCE2, FSHADER_SOURCE)) {
        console.log("init sharders fail");
        return;
    }

    let a_Position = gl.getAttribLocation(gl.program, "a_Position");
    let a_PointSize = gl.getAttribLocation(gl.program, "a_PointSize");
    gl.vertexAttrib3f(a_Position, 0.0, 0.0, 0.0);// 给 attribute赋值
    gl.vertexAttrib3f(a_Position, 1, 0.0, 0.0);
    gl.vertexAttrib3f(a_Position, 0, -1, 0.0);

    gl.vertexAttrib1f(a_PointSize, 50.0);
    gl.clearColor(0.0, 0.0, 0.0, 1.0);
    gl.clear(gl.COLOR_BUFFER_BIT);
    gl.drawArrays(gl.POINT, 0, 1);
}